home *** CD-ROM | disk | FTP | other *** search
- VERSION 5.00
- Begin VB.Form frmPaintPic
- Caption = "PaintPic"
- ClientHeight = 4455
- ClientLeft = 2085
- ClientTop = 1200
- ClientWidth = 7320
- LinkTopic = "Form1"
- PaletteMode = 1 'UseZOrder
- ScaleHeight = 4455
- ScaleWidth = 7320
- Begin VB.PictureBox picSource
- AutoRedraw = -1 'True
- AutoSize = -1 'True
- BorderStyle = 0 'None
- Height = 960
- Index = 1
- Left = 0
- Picture = "PaintPic.frx":0000
- ScaleHeight = 64
- ScaleMode = 3 'Pixel
- ScaleWidth = 64
- TabIndex = 12
- Top = 1320
- Width = 960
- End
- Begin VB.CommandButton cmdClearResult
- Caption = "Clear Result"
- Height = 495
- Left = 3480
- TabIndex = 11
- Top = 1320
- Width = 1215
- End
- Begin VB.PictureBox picSource
- AutoRedraw = -1 'True
- AutoSize = -1 'True
- BorderStyle = 0 'None
- Height = 960
- Index = 3
- Left = 0
- Picture = "PaintPic.frx":0882
- ScaleHeight = 64
- ScaleMode = 3 'Pixel
- ScaleWidth = 64
- TabIndex = 7
- Top = 3480
- Width = 960
- End
- Begin VB.CommandButton cmdCopy
- Caption = "Copy ==>"
- Height = 495
- Left = 3480
- TabIndex = 6
- Top = 1920
- Width = 1215
- End
- Begin VB.PictureBox picSource
- AutoRedraw = -1 'True
- AutoSize = -1 'True
- BorderStyle = 0 'None
- Height = 960
- Index = 2
- Left = 0
- Picture = "PaintPic.frx":1CC4
- ScaleHeight = 64
- ScaleMode = 3 'Pixel
- ScaleWidth = 64
- TabIndex = 5
- Top = 2400
- Width = 960
- End
- Begin VB.ListBox lstOpcode
- Height = 4155
- Left = 1080
- TabIndex = 4
- Top = 240
- Width = 2295
- End
- Begin VB.PictureBox picDestination
- AutoRedraw = -1 'True
- AutoSize = -1 'True
- Height = 2520
- Index = 2
- Left = 4800
- ScaleHeight = 164
- ScaleMode = 3 'Pixel
- ScaleWidth = 164
- TabIndex = 3
- Top = 1920
- Width = 2520
- End
- Begin VB.PictureBox picDestination
- AutoRedraw = -1 'True
- AutoSize = -1 'True
- Height = 510
- Index = 0
- Left = 4800
- ScaleHeight = 30
- ScaleMode = 3 'Pixel
- ScaleWidth = 30
- TabIndex = 2
- Top = 240
- Width = 510
- End
- Begin VB.PictureBox picDestination
- AutoRedraw = -1 'True
- AutoSize = -1 'True
- Height = 1020
- Index = 1
- Left = 4800
- ScaleHeight = 64
- ScaleMode = 3 'Pixel
- ScaleWidth = 64
- TabIndex = 1
- Top = 840
- Width = 1020
- End
- Begin VB.PictureBox picSource
- AutoRedraw = -1 'True
- AutoSize = -1 'True
- BorderStyle = 0 'None
- Height = 960
- Index = 0
- Left = 0
- Picture = "PaintPic.frx":3106
- ScaleHeight = 64
- ScaleMode = 3 'Pixel
- ScaleWidth = 64
- TabIndex = 0
- Top = 240
- Width = 960
- End
- Begin VB.Label Label1
- Alignment = 2 'Center
- Caption = "Result"
- Height = 255
- Index = 2
- Left = 4800
- TabIndex = 10
- Top = 0
- Width = 735
- End
- Begin VB.Label Label1
- Alignment = 2 'Center
- Caption = "Opcode"
- Height = 255
- Index = 1
- Left = 1080
- TabIndex = 9
- Top = 0
- Width = 2295
- End
- Begin VB.Label Label1
- Alignment = 2 'Center
- Caption = "Source"
- Height = 255
- Index = 0
- Left = 0
- TabIndex = 8
- Top = 0
- Width = 975
- End
- Attribute VB_Name = "frmPaintPic"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Option Explicit
- Private SelectedSource As Integer
- ' ***********************************************
- ' Add an opcode's name and value to the list of
- ' choices.
- ' ***********************************************
- Sub AddOpcode(name As String, value As Long)
- lstOpcode.AddItem name
- lstOpcode.ItemData(lstOpcode.NewIndex) = value
- End Sub
- ' Clear the result.
- Private Sub cmdClearResult_Click()
- Dim dest As Integer
- ' Clear all destination PictureBoxes.
- For dest = 0 To picDestination.UBound
- picDestination(dest).Cls
- Next dest
- End Sub
- ' Load the opcode choices.
- Private Sub Form_Load()
- Dim copy_index As Integer
- AddOpcode "vbBlackness", vbBlackness
- AddOpcode "vbDstInvert", vbDstInvert
- AddOpcode "vbMergeCopy", vbMergeCopy
- AddOpcode "vbMergePaint", vbMergePaint
- AddOpcode "vbNotSrcCopy", vbNotSrcCopy
- AddOpcode "vbSrcErase", vbSrcErase
- AddOpcode "vbPatCopy", vbPatCopy
- AddOpcode "vbPatInvert", vbPatInvert
- AddOpcode "vbPatPaint", vbPatPaint
- AddOpcode "vbSrcAnd", vbSrcAnd
- AddOpcode "vbSrcCopy", vbSrcCopy
- copy_index = lstOpcode.NewIndex
- AddOpcode "vbSrcErase", vbSrcErase
- AddOpcode "vbSrcInvert", vbSrcInvert
- AddOpcode "vbSrcPaint", vbSrcPaint
- AddOpcode "vbWhiteness", vbWhiteness
- ' Start with vbSrcCopy.
- lstOpcode.ListIndex = copy_index
- ' Select the first source image.
- picSource_Click (0)
- End Sub
- ' Copy the image.
- Private Sub cmdCopy_Click()
- Dim source_wid As Single
- Dim source_hgt As Single
- Dim dest_wid As Single
- Dim dest_hgt As Single
- Dim opcode As Long
- Dim dest_num As Integer
- ' Get the source image's dimenstions.
- source_wid = picSource(SelectedSource).ScaleWidth
- source_hgt = picSource(SelectedSource).ScaleHeight
- ' Get the selected opcode.
- opcode = lstOpcode.ItemData(lstOpcode.ListIndex)
- ' Copy the image into the destination images.
- For dest_num = 0 To picDestination.UBound
- With picDestination(dest_num)
- ' Get the destination dimensions.
- dest_wid = picDestination(dest_num).ScaleWidth
- dest_hgt = picDestination(dest_num).ScaleHeight
- ' Copy the image.
- picDestination(dest_num).PaintPicture _
- picSource(SelectedSource).Picture, _
- 0, 0, dest_wid, dest_hgt, _
- 0, 0, source_wid, source_hgt, _
- opcode
- End With
- Next dest_num
- End Sub
- ' Save the index of the selected source.
- Private Sub picSource_Click(Index As Integer)
- picSource(SelectedSource).BorderStyle = vbBSNone
- SelectedSource = Index
- picSource(SelectedSource).BorderStyle = vbFixedSingle
- End Sub
-